package com.example.netty.handler;

import io.netty.channel.ChannelInitializer;
import io.netty.channel.socket.nio.NioSocketChannel;
import io.netty.handler.codec.string.StringDecoder;

/**
 * 和客户端读写的通道，初始化器，本身也是handler，负责添加别的handler
 */
public class NettyServerChannelInitializer extends ChannelInitializer<NioSocketChannel> {

    // 连接建立后被调用
    @Override
    protected void initChannel(NioSocketChannel ch) {
        // bytebuf转string
        ch.pipeline().addLast(new StringDecoder());
        // 自定义handler，处理读事件（上一步转换后的字符串）
        ch.pipeline().addLast(new NettyServerHandler());
    }
}
